package commons

import (
	"fmt"
	"runtime"
)

func GetErrorStack(err error, mark string) string {
	var msg string
	if err == nil {
		msg = ""
	} else {
		msg = err.Error()
	}
	_, file, line, ok := runtime.Caller(1)
	if !ok {
		return "获取堆栈失败，错误原信息：" + msg
	}
	errMsg := fmt.Sprintf("%s:%d Cause by: %s %s", file, line, msg, mark)
	return errMsg
}
